package com.irdstudio.efp.console.service.facade;

import java.util.List;

import com.irdstudio.efp.console.service.vo.ContTempGVO;
import com.irdstudio.efp.console.service.vo.ContTempInfoVO;
import com.irdstudio.efp.console.service.vo.ContTempLinkGVO;

/**
 * <p>Description:合同模板信息表				<p>
 * @author fuzm
 * @date 2018-05-07
 */
public interface ContTempInfoService {
	
	public List<ContTempInfoVO> queryAllOwner(ContTempInfoVO contTempInfoVo);
	
	public List<ContTempInfoVO> queryAllCurrOrg(ContTempInfoVO contTempInfoVo);
	
	public List<ContTempInfoVO> queryAllCurrDownOrg(ContTempInfoVO contTempInfoVo);
	
	public int insertContTempInfo(ContTempInfoVO inContTempInfoVo);
	
	public int deleteByPk(ContTempInfoVO contTempInfoVo);
	
	public int updateByPk(ContTempInfoVO contTempInfoVo);
	/**
	 * 更新合同模版,并且生效
	 * @param contTempInfoVo
	 * @return
	 */
	public int updateSubmitContTemp(ContTempInfoVO inContTempInfoVo);
	
	public ContTempInfoVO queryByPk(ContTempInfoVO contTempInfoVo);
	/**
	 * 插入合同模版并且生效
	 * @param contTempInfo
	 * @return
	 */
	public int insertSubmitContTemp(ContTempInfoVO contTempInfo);
	/**
	 * 使模版失效
	 * @param contTempInfo 
	 * @return -2:有生效的合同模板组引用该合同模板
	 */
	public int disableContTemp(ContTempInfoVO contTempInfo);
	/**
	 * 查询合同模版组关联的 合同模版
	 * @param contTempGVO
	 * @return
	 */
	public List<ContTempInfoVO> queryLinkedGontTempInfos(ContTempGVO contTempGVO);
	/**
	 * 查询 当前 登录人员创建并且生效的 合同模版 
	 * @param contTempInfo
	 * @return
	 */
	public List<ContTempInfoVO> queryAllEnableOwner(ContTempInfoVO contTempInfo);
	/**
	 * 查询 当前 合同模版组ID下未关联和生效的合同模版
	 * @param contTempRelGVO
	 * @return
	 */
	public List<ContTempInfoVO> queryNotLinkEnable(ContTempLinkGVO contTempLinkGVO);
}
